1. Field of Invention
This invention relates to methods and systems for adaptively changing network protocol to improve data transmission rates.
2. Description of Related Art
Data networks are controlled by network protocols which are commonly classified into various layers including a physical layer, a data link layer and a network layer. Because physical systems are imperfect, noise such as neat-end cross talk and impulse noise in a network's physical layer can corrupt a data stream as it traverses the network. As a result, segments of data received from the network can be inundated with errors.
While the data link layer of a network can correct various errors introduced by the physical layer by using error-correction techniques such as trellis and Reed-Solomon coding, these error-correction techniques have an upper limit on the number of bit errors that can be corrected for a data segment of a specified size. If the number of errors exceeds this upper bound, then a data segment cannot be completely corrected.
Transmission control protocol (TCP) is a common network protocol designed to fit into the layered hierarchy of protocols. TCP transmits data across a network by packaging the data into segments of various predetermined sizes and calling on another protocol such as the Internet Protocol (IP) layer to transmit each segment to a destination. On the receive side, the TCP stack layer places the received segments into the receiver's buffer and notifies the receiver's user. However, if a TCP data segment is corrupted, then the segment must be retransmitted. While larger TCP segments can transmit data faster than smaller TCP segments in a noiseless environment, transmitting data using larger TCP segments can slow data throughput in the presence of noise. Accordingly, there exists a need for methods and systems that adapt the size of TCP segments based on the number of errors produced by the physical network.